Effective SQL
発行年 : 2017 年
https://m.media-amazon.com/images/I/41Q1L-qiHbL.jpg
感想・まとめ
SQL について、標準や複数の RDBMS の仕様を踏まえて説明されているので、SQL 全般について理解を深めることができる リレーショナルモデルとは何か、みたいなところを詳しく説明してくれるわけではないので、それは別の書籍で学ぶ必要がある 日本語訳はなさそう?
自分にとっては 「知らないことだらけでめっちゃ役に立つ」 って感じでもなかったけど、知らないこともちょこちょこあったので、有益だった
メモ
はじめに
主要なデータベース製品のほとんどはこの規格を実装している
本書では、必要に応じて製品固有の構文を提供するため、以下の製品の最新ドキュメントも参照
1 章 データモデルの設計
2 章 プログラム可能性とインデックスの設計
3 章 設計を変更できないときはどうするか
UNION による非正規化データのアンピボットをする
UNION ALL は重複を取り除かないので、UNION と比べてパフォーマンスが良い
4 章 フィルタリングとデータの検索
CASE 文には単純 CASE 文と検索 CASE 文がある
5 章 集約
6 章 サブクエリ
7 章 メタデータの取得と分析
8 章 直積
1 つ目のテーブルの全ての行を 2 つ目のテーブルの全ての行と組み合わせたもの
CROSS JOIN を利用する (FROM 句に複数のテーブルを記述するのでもよいはず?)
直接がどういう場面で有効か?
あり得る全ての可能性を列挙したいとき (例えば、顧客と商品の組み合わせをすべて列挙し、そこから実際に購入された顧客と商品の組み合わせを引くことで、購入してもらえる可能性があるものを一覧化する、とか)
9 章 タリーテーブル
10 章 階層型データモデルの作成
ツリー構造のデータを SQL でどう表現するか?
やり方は 4 種類ある